package com.glsc.ngateway.oaflow.utils;

import java.io.File;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * @Author: zhaoxc
 * @Date: 2020/6/17 11:21
 * @Desc:
 */
public class Constant {

    /*
    * 文件上传相对路径根目录
    * */
    public static final String PROD_DOC_ROOT_DIR = "proddoc" + File.separator;//产品档案根目录

    public static final String PROD_TEMP_ROOT_DIR = "tmpdoc" + File.separator;//产品档案根目录

    public static final String USER_ADMIN="admin";
    public static final String USER_ADMIN_NAME="系统管理员";

    //邮件模板名称常量
    public static final String TEMPLATE_NAME_TYPE_COMMON = "mailtemplates/mailTemplateCommon.html";

    public static final String TEMPLATE_NAME_TYPE_REPORT = "mailtemplates/reportClient.html";

    public static final String TEMPLATE_NAME_TYPE_REMIND_FEE_CARRY = "mailtemplates/remindFeeCarray.html";

    public static final String TEMPLATE_NAME_CONFIRM_INFO = "confirmInfoMailTemplate.html";

    public static final String TEMPLATE_NAME_ELIG_CHECK = "eligCheckMailTemplate.html";

    public static final String TEMPLATE_NAME_EXPIRE_REMIND = "expireRemindMailTemplate.html";

    public static final String TEMPLATE_NAME_AUDIT_REJECT = "auditRejectMailTemplate.html";

    public static final String TEMPLATE_NAME_ACCOUNTTYPE_OPEN = "accountTypeOpenTemplate.html";

    public static final String TEMPLATE_NAME_TYPE_CUSTODIAN = "mailtemplates/custodian.html";


    //邮件类型常量
    public static final String MAIL_TYPE_COMMON = "MAIL_TYPE_COMMON";

    public static final String MAIL_TYPE_RESPONSIBLE_CONFIRM = "MAIL_TYPE_RESPONSIBLE_CONFIRM";

    public static final String MAIL_TYPE_ELIG_AUDIT = "MAIL_TYPE_ELIG_AUDIT";

    public static final String MAIL_TYPE_EXPIRE_REMIND = "MAIL_TYPE_EXPIRE_REMIND";

    public static final String MAIL_TYPE_AUDIT_REJECT = "MAIL_TYPE_AUDIT_REJECT";

    public static final String MAIL_TYPE_ACCOUNT_OPEN = "MAIL_TYPE_ACCOUNTTYPE_OPEN";

    public static final String MAIL_TYPE_REPORT = "MAIL_TYPE_REPORT";

    public static final String MAIL_TYPE_REMIND_FEE_CARRY = "MAIL_TYPE_REMIND_FEE_CARRY";

    public static final String MAIL_TYPE_CUSTODIAN = "MAIL_TYPE_CUSTODIAN";

    public static final String MAIL_TITLE_SEND_FAILURE = "国联技术服务平台-邮件发送失败报告";

    //仅产品所属的投资经理
    public static final String ROLE_PROD_INVEST_MANAGER_ONLY = "#INVEST_MANAGER";
    //仅产品所属的投资经理
    public static final String ROLE_PROD_MARKET_MANAGER_ONLY = "#MARKET_MANAGER";

    public static final String ROLE_AM_OPERATION = "资产管理部运营";

    public static final String ROLE_TA_OPERATION = "运管TA组";

    public static final String ROLE_FA_OPERATION = "估值基金会计岗";

    public static final String ROLE_CAPITAL_OPERATION = "估值资金岗";

    public static final String ROLE_QUALITY_CONTROL = "质量控制岗";

    public static final String ROLE_TRADING_ROOM = "交易室";

    public static final String ROLE_RISK_CONTROL = "资管风控岗";

    public static final String ROLE_ACCOUNT_MANAGEMENT = "账户开立管理岗";

    public static final String ROLE_OPERATION_SETTLEMENT = "运营部交收组";

    public static final String ROLE_OPERATION_CLEAR = "运管清算组";

    public static final String ROLE_INSTITUTIONAL_CUSTOMER = "机构客户业务";

    public static final String ROLE_COMPLIANCE = "资产管理部合规岗";

    public static final String ROLE_STRATEGY_DURATION = "定制策略组存续期管理岗";

    public static final String ROLE_OPERATION_DURATION = "资管运营存续期管理岗";

    public static final String ROLE_OPERATION_ABS_DURATION = "ABS存续期管理岗";

    public static final String ROLE_BIZ_PARAMETER = "业务参数管理";

    public static final String ROLE_BIZ_PARAMETER_MARKET_UNIT  = "业务参数管理交易单元";

    public static final String ROLE_BIZ_PARAMETER_PRODUCT_TYPE  = "业务参数管理产品类型";

    public static final String ROLE_DISCLOSE  = "信息披露岗";

    public static final String ROLE_OPERATION_MANAGER  = "运营经理";

    public static final String ROLE_FLOW_ASSIGN_OP_MANAGER = "工作流角色_指定运营经理";

    public static final String JOB_TITLE_FA_LEADER = "估值结算团队负责人";

    public static final String ROLE_FLOW_CMP_PORTFOLIO_MANAGER = "主动投资组合经理";


    //资产管理部内控合规风控员岗位ID
    public static final Integer USER_JOB_ID_RISK_CONTROLLER_1 = 290;//合规风控员
    public static final Integer USER_JOB_ID_RISK_CONTROLLER_2 = 456;//合规管理岗（兼）


    //字段表账户信息分类
    public static final String PRODUCT_FIELD_ACCOUNT = "accountMgr";

    //字段表账户信息内部分类
    public static final String ACCOUNT_CUSTODY = "custody";
    public static final String ACCOUNT_MANAGEFEE = "manageFee";
    public static final String ACCOUNT_CUSTODYFEE = "custodyFee";
    public static final String ACCOUNT_ENTRUST = "entrust";
    public static final String ACCOUNT_BROKER = "broker";
    public static final String ACCOUNT_SECURITIES = "securities";
    public static final String ACCOUNT_TRADESEAT = "tradeSeat";
    public static final String ACCOUNT_BOND = "bond";
    public static final String ACCOUNT_SHCLEAR = "shClear";
    public static final String ACCOUNT_SHBILL = "shBill";
    public static final String ACCOUNT_FUTURE = "future";
    public static final String ACCOUNT_DEPOSIT = "deposit";
    public static final String ACCOUNT_PE = "pe";
    public static final String ACCOUNT_PF = "pf";
    public static final String ACCOUNT_CREDITSECURITIES = "creditSecurities";
    public static final String ACCOUNT_CREDITBROKER = "creditBroker";
    public static final String ACCOUNT_SETTLE = "settle";
    public static final String ACCOUNT_DERIVATIVESECURITIES = "derivativeSecurities";

    //账户信息导出sheet页名称
    public static final String ACCOUNT_OTHERINFO_SHEETNAME = "账户信息";
    public static final String ACCOUNT_DEPOSIT_SHEETNAME = "银行存款账户信息";
    public static final String ACCOUNT_SECURITIES_SHEETNAME = "证券账户信息";
    public static final String ACCOUNT_PF_SHEETNAME = "公募基金账户信息";
    public static final String ACCOUNT_PE_SHEETNAME = "私募基金账户信息";

    //证券账户类型
    public static final String SECURITIES_TYPE_COMMON = "普通";
    public static final String SECURITIES_TYPE_CREDIT = "信用";
    public static final String SECURITIES_TYPE_DERIVATIVE = "衍生品";


    public static final String LOGIN_AUTH_OA ="OA";
    public static final String LOGIN_AUTH_AMPRODUCT ="AMPRODUCT";
    public static final String ENCODING_UTF8 = "UTF-8";

    public static final String CONFIG_KEY_AMPRODUCT_SERVER_URL ="AMPRODUCT_SERVER_URL";
    public static final String CONFIG_KEY_LOGIN_AUTH ="LOGIN_AUTH";
    public static final String CONFIG_KEY_LOGIN_CAPTCHA ="LOGIN_CAPTCHA";
    public static final String CONFIG_KEY_UPLOAD_ROOT ="UPLOAD_ROOT";
    public static final String CONFIG_KEY_DATE_SYSTEM_CALENDAR ="DATE_SYSTEM_CALENDAR";
    public static final String CONFIG_KEY_CARRY_CAL_REMIND_STAFF ="CARRY_CAL_REMIND_STAFF";
    public static final String CONFIG_KEY_GLAM_API_URL ="GLAM_API_URL";
    public static final String CONFIG_KEY_COP_API_URL ="COP_API_URL";
    public static final String CONFIG_KEY_COP_LOGIN_OPERATOR_CODE ="COP_LOGIN_OPERATOR_CODE";
    public static final String CONFIG_KEY_COP_LOGIN_PASSWORD ="COP_LOGIN_PASSWORD";
    public static final String CONFIG_KEY_GLAM_AMPRODUCT_USER ="GLAM_AMPRODUCT_USER";
    public static final String CONFIG_KEY_GLAM_AMPRODUCT_PASSWD ="GLAM_AMPRODUCT_PASSWD";
    public static final String CONFIG_KEY_DEPARTMENT_ASSET_MANAGEMENT ="DEPARTMENT_ASSET_MANAGEMENT";
    public static final String CONFIG_KEY_MAIL_REMIND_CUSTODY_CHANGE ="MAIL_REMIND_CUSTODY_CHANGE";
    public static final String CONFIG_KEY_ADMIN_EMAIL_ADDR ="ADMIN_EMAIL_ADDR";
    public static final String CONFIG_KEY_REMIND_REGISTER_EXPIRE ="REMIND_REGISTER_EXPIRE";
    public static final String CONFIG_KEY_SHORT_MESSAGE_PREFIX = "SHORT_MESSAGE_PREFIX";/*员工短信提醒前缀*/
    public static final String CONFIG_KEY_WECHAT_ACCOUNT = "WECHAT_ACCOUNT";/*微信提醒账号*/
    public static final String CONFIG_KEY_ENABLE_MAIL_REMIND = "ENABLE_MAIL_REMIND";/*是否启用邮件提醒*/
    public static final String CONFIG_KEY_REMIND_INVEST_WORKFLOW_DEADLINE ="REMIND_INVEST_WORKFLOW_DEADLINE";//资金岗未完成划款发送邮件提醒
    public static final String CONFIG_KEY_SYNC_PROD2OA_DEFAULT_CREATOR ="SYNC_PROD2OA_DEFAULT_CREATOR";//同步产品至OA的默认创建人
    public static final String CONFIG_KEY_SYNC_PROD2OA_DEFAULT_MEMBER_LIST ="OA_PROD_DEFAULT_MEMBER_LIST";//同步产品至OA的默认创建人
    public static final String CONFIG_KEY_SYNC_OA_REVIEW_STATUS_ID_LIST ="SYNC_OA_REVIEW_STATUS_ID_LIST";//同步OA评审流程状态工作流编号列表
    public static final String CONFIG_KEY_SYNC_NEW_OA_REVIEW_STATUS_ID_LIST ="SYNC_NEW_OA_REVIEW_STATUS_ID_LIST";//同步新OA评审流程状态工作流编号列表

    public static final String CONFIG_KEY_SYNC_OA_FORM_DATA_FIELD ="SYNC_OA_FORM_DATA_FIELD";//查询OA表单数据字段
    public static final String CONFIG_KEY_SYNC_NEW_OA_FORM_DATA_FIELD ="SYNC_NEW_OA_FORM_DATA_FIELD";//查询OA新评审流程表单数据字段
    public static final String CONFIG_KEY_ACCOUNT_INTERNAL_GROUP_CUSTODY ="ACCOUNT_INTERNAL_GROUP_CUSTODY";//托管账户开立通知字段
    public static final String CONFIG_KEY_ACCOUNT_INTERNAL_GROUP_BROKER ="ACCOUNT_INTERNAL_GROUP_BROKER";//券商普通资金账户开立通知字段
    public static final String CONFIG_KEY_ACCOUNT_INTERNAL_GROUP_CREDIT_BROKER ="ACCOUNT_INTERNAL_GROUP_CREDIT_BROKER";//券商信用资金账户开立通知字段
    public static final String CONFIG_KEY_ACCOUNT_INTERNAL_GROUP_SECURITIES ="ACCOUNT_INTERNAL_GROUP_SECURITIES";//普通证券账户开立通知字段
    public static final String CONFIG_KEY_ACCOUNT_INTERNAL_GROUP_CREDIT_SECURITIES ="ACCOUNT_INTERNAL_GROUP_CREDIT_SECURITIES";//信用证券账户开立通知字段
    public static final String CONFIG_KEY_ACCOUNT_INTERNAL_GROUP_PF ="ACCOUNT_INTERNAL_GROUP_PF";//公募基金账户开立通知字段
    public static final String CONFIG_KEY_ACCOUNT_INTERNAL_GROUP_PE ="ACCOUNT_INTERNAL_GROUP_PE";//私募基金账户开立通知字段
    public static final String CONFIG_KEY_ACCOUNT_INTERNAL_GROUP_BOND ="ACCOUNT_INTERNAL_GROUP_BOND";//中债账户开立通知字段
    public static final String CONFIG_KEY_ACCOUNT_INTERNAL_GROUP_SH_CLEAR ="ACCOUNT_INTERNAL_GROUP_SH_CLEAR";//中债账户开立通知字段
    public static final String CONFIG_KEY_ACCOUNT_INTERNAL_GROUP_FUTURE ="ACCOUNT_INTERNAL_GROUP_FUTURE";//期货账户开立通知字段
    public static final String CONFIG_KEY_GATEWAY_SSO_SWITCH_ON ="GATEWAY_SSO_SWITCH_ON";//网关登录验证开关
    public static final String CONFIG_KEY_JOB_REMIND_FEE_CARRY_TODO_ON ="JOB_REMIND_FEE_CARRY_TODO_ON";//两费及业务报酬规则记录信息形成待办任务开关
    public static final String CONFIG_KEY_ACCOUNT_INFO_MODIFY_REMIND_SWITCH_ON ="ACCOUNT_INFO_MODIFY_REMIND_SWITCH_ON";//账户信息变更发送邮件通知开关

    public static final String CONFIG_KEY_DIGITAL_KEY_FLOW_ID ="DIGITAL_KEY_FLOW_ID";//数字证书流程ID

    public static final String CONFIG_KEY_DOC_COLLECTION_REMIND_DAYS ="DOC_COLLECTION_REMIND_DAYS";//催收档案提醒天数

    public static final String CONFIG_KEY_BATCH_UPLOAD_DIR_SINGLE_CUSTODY ="BATCH_UPLOAD_DIR_SINGLE_CUSTODY";//单一产品托管户OA系统目录
    public static final String CONFIG_KEY_BATCH_UPLOAD_DIR_SINGLE_SECURITY_ACCOUNT ="BATCH_UPLOAD_DIR_SINGLE_SECURITY_ACCOUNT";//单一产品证券户OA系统目录
    public static final String CONFIG_KEY_BATCH_UPLOAD_DIR_SINGLE_BROKER_ACCOUNT ="BATCH_UPLOAD_DIR_SINGLE_BROKER_ACCOUNT";//单一产品资金户OA系统目录
    public static final String CONFIG_KEY_BATCH_UPLOAD_DIR_SINGLE_DEPOSIT_ACCOUNT ="BATCH_UPLOAD_DIR_SINGLE_DEPOSIT_ACCOUNT";//单一产品存款户OA系统目录
    public static final String CONFIG_KEY_BATCH_UPLOAD_DIR_SINGLE_FUND_ACCOUNT ="BATCH_UPLOAD_DIR_SINGLE_FUND_ACCOUNT";//单一产品基金OA系统目录
    public static final String CONFIG_KEY_BATCH_UPLOAD_DIR_SINGLE_INTERBANK_ACCOUNT ="BATCH_UPLOAD_DIR_SINGLE_INTERBANK_ACCOUNT";//单一产品银行间OA系统目录
    public static final String CONFIG_KEY_BATCH_UPLOAD_DIR_SINGLE_OTHER_ACCOUNT ="BATCH_UPLOAD_DIR_SINGLE_OTHER_ACCOUNT";//单一产品其他户OA系统目录
    public static final String CONFIG_KEY_BATCH_UPLOAD_DIR_SINGLE_DEFAULT ="BATCH_UPLOAD_DIR_SINGLE_DEFAULT";//单一产品账户OA系统默认目录

    public static final String CONFIG_KEY_BATCH_UPLOAD_DIR_SET_CUSTODY ="BATCH_UPLOAD_DIR_SET_CUSTODY";//集合产品托管户OA系统目录
    public static final String CONFIG_KEY_BATCH_UPLOAD_DIR_SET_SECURITY_ACCOUNT ="BATCH_UPLOAD_DIR_SET_SECURITY_ACCOUNT";//集合产品证券户OA系统目录
    public static final String CONFIG_KEY_BATCH_UPLOAD_DIR_SET_INTERBANK ="BATCH_UPLOAD_DIR_SET_INTERBANK";//集合产品银行间账户OA系统目录
    public static final String CONFIG_KEY_BATCH_UPLOAD_DIR_SET_FUND_ACCOUNT ="BATCH_UPLOAD_DIR_SET_FUND_ACCOUNT";//集合产品基金OA系统目录
    public static final String CONFIG_KEY_BATCH_UPLOAD_DIR_SET_OTHER_ACCOUNT ="BATCH_UPLOAD_DIR_SET_OTHER_ACCOUNT";//集合产品其他户OA系统目录
    public static final String CONFIG_KEY_BATCH_UPLOAD_DIR_SET_DEFAULT ="BATCH_UPLOAD_DIR_SET_DEFAULT";//集合产品托管户OA系统默认目录
    public static final String CONFIG_KEY_ACCOUNT_OPEN_REMIND_EMAIL ="ACCOUNT_OPEN_REMIND_EMAIL";//账户开立完成附加邮件通知人
    public static final String CONFIG_KEY_DEPARTMENT_LIST_ALLOW = "DEPARTMENT_LIST_ALLOW";//允许登录的一级部门列表


    public static final String CONFIG_KEY_ACCOUNT_MODIFY_REMIND_DELAY_MINUTE ="ACCOUNT_MODIFY_REMIND_DELAY_MINUTE";//账户信息修改延迟通知间隔分钟数
    public static final String CONFIG_KEY_BATCH_UPLOAD_DIR = "BATCH_UPLOAD_DIR";/*划款流程附件上传OA系统目录*/
    public static final String CONFIG_KEY_BATCH_UPLOAD_DIR_DEFAULT = "BATCH_UPLOAD_DIR_DEFAULT";/*划款流程附件上传OA系统默认目录*/
    public static final String CONFIG_KEY_BATCH_UPLOAD_REGISTER_SINGLE_DIR = "BATCH_UPLOAD_REGISTER_SINGLE_DIR";/*单一产品备案函附件上传OA系统目录*/
    public static final String CONFIG_KEY_BATCH_UPLOAD_REGISTER_SINGLE_DIR_DEFAULT = "BATCH_UPLOAD_REGISTER_SINGLE_DIR_DEFAULT";/*单一产品备案函附件上传OA系统默认目录*/
    public static final String CONFIG_KEY_BATCH_UPLOAD_REGISTER_SET_DIR = "BATCH_UPLOAD_REGISTER_SET_DIR";/*集合产品备案函附件上传OA系统目录*/
    public static final String CONFIG_KEY_BATCH_UPLOAD_REGISTER_SET_DIR_DEFAULT = "BATCH_UPLOAD_REGISTER_SET_DIR_DEFAULT";/*集合产品备案函附件上传OA系统默认目录*/
    public static final String CONFIG_KEY_BATCH_UPLOAD_REPORT_SINGLE_DIR = "BATCH_UPLOAD_REPORT_SINGLE_DIR";/*单一产品定期报告附件上传OA系统目录*/
    public static final String CONFIG_KEY_BATCH_UPLOAD_REPORT_SINGLE_DIR_DEFAULT = "BATCH_UPLOAD_REPORT_SINGLE_DIR_DEFAULT";/*单一产品定期报告附件上传OA系统默认目录*/
    public static final String CONFIG_KEY_BATCH_UPLOAD_REPORT_SET_DIR = "BATCH_UPLOAD_REPORT_SET_DIR";/*集合产品定期报告附件上传OA系统目录*/
    public static final String CONFIG_KEY_BATCH_UPLOAD_REPORT_SET_DIR_DEFAULT = "BATCH_UPLOAD_REPORT_SET_DIR_DEFAULT";/*集合产品定期报告附件上传OA系统默认目录*/

    public static final String CONFIG_KEY_SYNC_UPLOAD_PDF_DIR = "SYNC_UPLOAD_PDF_DIR";/*产品OA流程PDF上传OA系统目录*/
    public static final String CONFIG_KEY_SYNC_UPLOAD_PDF_DIR_DEFAULT = "SYNC_UPLOAD_PDF_DIR_DEFAULT";/*产品OA流程PDF上传OA系统默认目录*/

    public static final String CONFIG_KEY_SYNC_OA_FORMDATA_INVESTMANAGER_WORKFLOWID_LIST ="SYNC_OA_FORMDATA_INVESTMANAGER_WORKFLOWID_LIST";/*同步OA表单数据投资经理模板ID列表*/
    public static final String CONFIG_KEY_SYNC_OA_FORM_DATA_INVEST_MANAGER_FIELD ="SYNC_OA_FORM_DATA_INVEST_MANAGER_FIELD";/*查询OA表单数据投资经理字段*/
    public static final String CONFIG_KEY_SYNC_OA_FORM_DATA_SALE_AGENCY_MARKET_PERSON ="SYNC_OA_FORM_DATA_SALE_AGENCY_MARKET_PERSON";/*查询OA表单数据代销机构的对接人*/
    public static final String CONFIG_KEY_SYNC_OA_FORM_DATA_SALE_AGENCY_MARKET_PERSON_FIELD ="SYNC_OA_FORM_DATA_SALE_AGENCY_MARKET_PERSON_FIELD";/*查询OA表单数据代销机构的对接人字段*/
    public static final String CONFIG_KEY_SYNC_OA_FORM_DATA_TRADE_SEAT ="SYNC_OA_FORM_DATA_TRADE_SEAT";/*查询OA表单数据交易单元流程ID列表*/
    public static final String CONFIG_KEY_SYNC_OA_FORM_DATA_TRADE_SEAT_FIELD ="SYNC_OA_FORM_DATA_TRADE_SEAT_FIELD";/*查询OA表单数据交易单元字段*/


    public static final String CONFIG_KEY_SYNC_OA_FORMDATA_NOPRODCONTRACTSIGN_WORKFLOWID_LIST ="SYNC_OA_FORMDATA_NOPRODCONTRACTSIGN_WORKFLOWID_LIST";/*查询OA表单数据产品合同协议流程ID列表*/
    public static final String CONFIG_KEY_SYNC_OA_FORM_DATA_NOPRODCONTRACTSIGN_FIELD ="SYNC_OA_FORM_DATA_NOPRODCONTRACTSIGN_FIELD";/*查询OA表单数据产品合同协议流程字段*/

    public static final String CONFIG_KEY_SYNC_OA_FORM_DATA_DIGITAL_KEY_WORKFLOWID_LIST ="SYNC_OA_FORM_DATA_DIGITAL_KEY_WORKFLOWID_LIST";/*查询OA表单数据数字证书流程ID列表*/
    public static final String CONFIG_KEY_SYNC_OA_FORM_DATA_DIGITAL_KEY_FIELD ="SYNC_OA_FORM_DATA_DIGITAL_KEY_FIELD";/*查询OA表单数据数字证书流程字段*/

    public static final String CONFIG_KEY_SYNC_OA_FORM_DATA_INVEST_ASSISTANT_WORKFLOWID_LIST ="SYNC_OA_FORM_DATA_INVEST_ASSISTANT_WORKFLOWID_LIST";/*查询OA表单数据投资助理流程ID列表*/
    public static final String CONFIG_KEY_SYNC_OA_FORM_DATA_INVEST_ASSISTANT_FIELD ="SYNC_OA_FORM_DATA_INVEST_ASSISTANT_FIELD";/*查询OA表单数据投资助理流程字段*/

    public static final String CONFIG_KEY_OPEN_DAY_REMIND_TA_CC = "OPEN_DAY_REMIND_TA_CC"; //开放期配置提醒发送给TA的另外抄送
    public static final String CONFIG_KEY_OPEN_DAY_RULE_REMIND_TA_CC = "OPEN_DAY_RULE_REMIND_TA_CC"; //新产品成立开放期规则提醒发送给TA的另外抄送
    public static final String CONFIG_KEY_OPEN_DAY_WORKFLOW_DIVIDEND_REMIND_EMAIL = "OPEN_DAY_WORKFLOW_DIVIDEND_REMIND_EMAIL"; //开放期确认流程收益分配通知估值资金岗附加通知人员邮箱，一般是抄送资金组组长
    public static final String CONFIG_KEY_MARKET_MANAGER_GROUP = "MARKET_MANAGER_GROUP"; //市场经理分组名单，组之间分号分隔
    public static final String CONFIG_KEY_ADMIN_MOBILE_LIST = "ADMIN_MOBILE_LIST"; //系统管理员手机短信列表

    public static final String CONFIG_KEY_ONLY_OFFICE_SERVER_URL ="ONLY_OFFICE_SERVER_URL";//ONLY OFFICE服务URL
    public static final String CONFIG_KEY_AM_SYSTEM_USER_PROD_CENTER ="AM_SYSTEM_USER_PROD_CENTER";//

    public static final String CONFIG_KEY_PROD_CUST_HOLS_CUST_INFO_TAG_NAME = "PROD_CUST_HOLS_CUST_INFO_TAG_NAME";/*自有资金持有产品标签名称*/
    public static final String CONFIG_KEY_OA_WORKFLOW_PDF_ID_LIST_STR ="OA_WORKFLOW_PDF_ID_LIST_STR";/*OA全流程生成PDF上传OA指定目录ID列表*/

    public static final String CONFIG_KEY_OA_LOGIN_ID ="OA_LOGIN_ID";
    public static final String CONFIG_KEY_OA_LOGIN_PASSWORD ="OA_LOGIN_PASSWORD";
    public static final String CONFIG_KEY_PROD_CENTER_USERNAME = "PROD_CENTER_USERNAME";/*产品中心用户名称*/

    public static final String CONFIG_KEY_PRODUCT_QUERY_CONDITION_SET = "PRODUCT_QUERY_CONDITION_SET";/*产品通用检索条件集合*/
    public static final String CONFIG_KEY_START_UP_GUITAI_RECEIVER = "START_UP_GUITAI_RECEIVER"; /*财富代销产品成立收件人*/

    public static final String CONFIG_KEY_PROD_STARTUP_RAISE_DATE_NEED_CHECK ="PROD_STARTUP_RAISE_DATE_NEED_CHECK";//新设流程募集期是否校验标志
    public static final String CONFIG_KEY_PROD_STARTUP_CREATE_NOTIFY_DEPARTMENT ="PROD_STARTUP_CREATE_NOTIFY_DEPARTMENT"; //新设流程发起需要额外提醒同组人员的部门

    public static final String CONFIG_KEY_ABS_TRANSFER_FLOW_QC_TRANS_TYPE ="ABS_TRANSFER_FLOW_QC_TRANS_TYPE"; //ABS划款流程质量控制岗节点对应划款类型
    public static final String CONFIG_KEY_ABS_TRANSFER_FLOW_CREATE_REMIND_USER ="ABS_TRANSFER_FLOW_CREATE_REMIND_USER"; //ABS划款流程发起后抄送人名单
    public static final String CONFIG_KEY_OPERATING_LEADER ="OPERATING_LEADER"; //运管团队负责人
    public static final String CONFIG_KEY_TA_LEADER ="TA_LEADER"; //TA组长

    public static final String CONFIG_KEY_NOT_SEND_RECV_LIST ="NOT_SEND_RECV_LIST";//不发送邮件收件人列表

    public static final String CONFIG_KEY_CUSTODY_BANK_GUOLIAN_SECURITY ="CUSTODY_BANK_GUOLIAN_SECURITY_ID";//金融一街托管行的交易单元ID

    public static final String CONFIG_KEY_CHECK_PROD_CENTER_TEMPLATE_ID_LIST ="CHECK_PROD_CENTER_TEMPLATE_ID_LIST";//校验产品中心模板ID列表
    public static final String CONFIG_KEY_CHECK_PROD_CENTER_TEMPLATE_SPECIAL_FIELD_LIST ="CHECK_PROD_CENTER_TEMPLATE_SPECIAL_FIELD_LIST";//校验产品中心模板特殊处理字段列表

    public static final String CONFIG_KEY_PROD_CENTER_DISCLOSURE_ID_LIST = "PROD_CENTER_DISCLOSURE_ID_LIST";/*信息披露产品中心栏目ID列表*/

    public static final String CONFIG_KEY_PROD_END_O32_AUTH_FILE_DOC_ID = "PROD_END_O32_AUTH_FILE_DOC_ID";/*产品终止流程权限配置文件ID*/

    public static final String CONFIG_KEY_PROD_START_END_REMIND_LEADER = "PROD_START_END_REMIND_LEADER"; /*产品新设和终止通知领导*/

    public static final String CONFIG_KEY_TEMPLATE_INVEST_ASSET_CHECK_DOC_ID = "TEMPLATE_INVEST_ASSET_CHECK_DOC_ID";/*底层资产投资者穿透信息表模板文件ID*/

    public static final String CONFIG_KEY_TRANS_SETTLE_MODE_SECURITY = "TRANS_SETTLE_MODE_SECURITY";/*券商结算交易主体账户信息*/
    public static final String CONFIG_KEY_TRANS_SETTLE_MODE_BANK = "TRANS_SETTLE_MODE_BANK";/*银行结算(托管结算)交易主体账户信息*/

    public static final String CONFIG_KEY_FIN_STREET_BROKER_ACCOUNT_UPDATE_REMIND_LIST  ="FIN_STREET_BROKER_ACCOUNT_UPDATE_REMIND_LIST";//金融一街资金账户变更通知人

    public static final String CONFIG_KEY_AMPRODUCT_PROD_SYS_NO ="AMPRODUCT_PROD_SYS_NO";

    public static final String CONFIG_KEY_FORM_MODE_ID_STR ="FORM_MODE_ID_STR";

    public static final String CONFIG_KEY_DIGITAL_KEY_EXPIRE_REMIND_DAYS ="DIGITAL_KEY_EXPIRE_REMIND_DAYS";

    public static final String CONFIG_KEY_DIGITAL_KEY_SEND_MAIL ="CONFIG_KEY_DIGITAL_KEY_SEND_MAIL";

    /**
     * 产品档案按账户分类配置
     */
    public static final String CONFIG_KEY_ACCOUNT_DOC_TYPE_CUSTODY = "ACCOUNT_DOC_TYPE_CUSTODY"; //托管户
    public static final String CONFIG_KEY_ACCOUNT_DOC_TYPE_SECURITY ="ACCOUNT_DOC_TYPE_SECURITY"; //普通证券账户
    public static final String CONFIG_KEY_ACCOUNT_DOC_TYPE_BROKER ="ACCOUNT_DOC_TYPE_BROKER"; //普通资金账户
    public static final String CONFIG_KEY_ACCOUNT_DOC_TYPE_CREDIT_SECURITY ="ACCOUNT_DOC_TYPE_CREDIT_SECURITY"; //两融资金&证券账户
    public static final String CONFIG_KEY_ACCOUNT_DOC_TYPE_FUND ="ACCOUNT_DOC_TYPE_FUND"; //公募基金
    public static final String CONFIG_KEY_ACCOUNT_DOC_TYPE_FUTURE ="ACCOUNT_DOC_TYPE_FUTURE"; //期货
    public static final String CONFIG_KEY_ACCOUNT_DOC_TYPE_INTERBANK ="ACCOUNT_DOC_TYPE_BANK"; //银行间
    public static final String CONFIG_KEY_ACCOUNT_DOC_TYPE_NEW_STOCK ="ACCOUNT_DOC_TYPE_NEW_STOCK"; //新股网下配售开立回执
    public static final String CONFIG_KEY_ACCOUNT_DOC_TYPE_CUSTODY_FEE ="ACCOUNT_DOC_TYPE_CUSTODY_FEE";
    public static final String CONFIG_KEY_ACCOUNT_DOC_TYPE_MANAGE_FEE ="ACCOUNT_DOC_TYPE_MANAGE_FEE";

    //普通产品（单一、集合，非专项）账户档案总分类列表
    public static final List<String> CONFIG_KEY_ACCOUNT_DOC_TYPE_LIST = Arrays.asList(
            Constant.CONFIG_KEY_ACCOUNT_DOC_TYPE_CUSTODY,//托管户
            Constant.CONFIG_KEY_ACCOUNT_DOC_TYPE_SECURITY,//证券账户
            Constant.CONFIG_KEY_ACCOUNT_DOC_TYPE_BROKER,//资金账户
            Constant.CONFIG_KEY_ACCOUNT_DOC_TYPE_CREDIT_SECURITY,//信用证券账户
            Constant.CONFIG_KEY_ACCOUNT_DOC_TYPE_FUND,//公募基金账户，没有私募账户
            Constant.CONFIG_KEY_ACCOUNT_DOC_TYPE_FUTURE,//期货账户
            Constant.CONFIG_KEY_ACCOUNT_DOC_TYPE_INTERBANK,//银行间
            Constant.CONFIG_KEY_ACCOUNT_DOC_TYPE_NEW_STOCK,//证券相关之，新股网下配售信息相关附件
            Constant.CONFIG_KEY_ACCOUNT_DOC_TYPE_CUSTODY_FEE,//托管费相关附件
            Constant.CONFIG_KEY_ACCOUNT_DOC_TYPE_MANAGE_FEE  //管理费相关附件
    );


    public static final String CACHE_TYPE_DICT = "DICT";//字典缓存;
    public static final String CACHE_TYPE_AUTH = "AUTH";//权限缓存;
    public static final String CACHE_TYPE_USER = "USER";//用户缓存;
    public static final String CACHE_TYPE_FIELD_AUTH = "FIELD_AUTH";//用户缓存;
    public static final String CACHE_TYPE_FIELD = "FIELD";//字段缓存;
    public static final String CACHE_TYPE_SYSTEM_CONFIG = "SYSTEM_CONFIG";//字段缓存;
    public static final String CACHE_TYPE_PRODUCT = "PRODUCT";//产品基本信息缓存;

    public static final String FILE_TYPE_PIC ="pic";
    public static final String FILE_TYPE_ASSET ="asset";



    /**
     *产品审核状态
     * 1待审核
     * 2审核通过
     * 3审核退回
     */
    public static Integer APPROVE_NEED = 0; //待审核
    public static Integer APPROVE_PASS = 1; //已通过
    public static Integer APPROVE_REJECT = 2; //已退回

    /**
     *产品审核状态
     * approve待审核列表查询
     */
    public static String PROD_LIST_PAGE_TYPE_APPROVE = "approve"; //待审核查询

    /**
     *产品中心同步信息状态
     */
    public static String PROD_CENTER_SYNC_STATUS_NONE = "0"; //尚未同步，未与产品中心建立同步关系
    public static String PROD_CENTER_SYNC_STATUS_YES = "1"; //已经同步
    public static String PROD_CENTER_SYNC_STATUS_NEED = "2"; //已修改待同步
    public static String PROD_CENTER_SYNC_STATUS_NOT_FOUND = "3"; //未查询到产品，同步产品中心系统时，未在产品中心查询到产品

    /**
     * 0明细流程图
     * 1概览流程图
     */
    public static String WORKFLOW_TYPE_DETAIL = "0"; //明细流程图
    public static String WORKFLOW_TYPE_SCAN = "1"; //概览流程图

    /**
     * 两费提醒，时间段推算无合法有效日期的推断
     */
    public static final String DAY_PERIOD_DAY_NO_DEED = "0000-00-00";

    //追加划款和明细流水导出sheet页名称
    public static final String INVEST_WORKFLOW_SHEETNAME = "追加划款申请信息";
    public static final String TRANSFER_SHEETNAME = "划款申请信息";
    public static final String TRANSFER_DETAIL_SHEETNAME = "划款明细流水";

    /**
     * ACC深圳通网关实时查询产品信息type
     */
    public static final String COP_ACC_QUERY_TYPE_CASH = "1"; //查询产品余额
    public static final String COP_ACC_QUERY_TYPE_TRADE_FLOW = "2"; //查询产品流水

    /**
     * TA产品T日与T+1日开放状态通知附件sheet页名
     */
    public static final String OPEN_DAY_TA_REMIND_SHEETNAME = "自TA产品";
    public static final String OPEN_DAY_SUB_TA_REMIND_SHEETNAME = "分TA产品";

    /**
     * 开放日查询返回的开放日类型
     */
    public static final String OPEN_DAY_DTO_TYPE_INVEST_CONFIRM = "1"; //已经二次确认且投资经理确认
    public static final String OPEN_DAY_DTO_TYPE_INVEST_CONFIRM_NO = "2"; //已经二次确认且投资经理未确认
    public static final String OPEN_DAY_DTO_TYPE_SECOND_CONFIRM = "3"; //没有二次确认，已经首次确认的
    public static final String OPEN_DAY_DTO_TYPE_FIRST_CONFIRM = "4"; //没有首次确认，系统生成的

    public static Map<String, String> OPEN_DAY_DTO_TYPE_MAP = new HashMap<>();

    static {
        OPEN_DAY_DTO_TYPE_MAP.put(OPEN_DAY_DTO_TYPE_INVEST_CONFIRM, "投资经理确认");
        OPEN_DAY_DTO_TYPE_MAP.put(OPEN_DAY_DTO_TYPE_INVEST_CONFIRM_NO, "二次确认");
        OPEN_DAY_DTO_TYPE_MAP.put(OPEN_DAY_DTO_TYPE_SECOND_CONFIRM, "首次确认");
        OPEN_DAY_DTO_TYPE_MAP.put(OPEN_DAY_DTO_TYPE_FIRST_CONFIRM, "系统生成");
    }

    //默认
    public static final String DEFAULT = "default";

    //o32公共权限
    public static final String CONSULT_MANAGER_PUBLIC = "public";
    public static final String CONSULT_MANAGER_PUBLIC_NAME = "公共权限";

    public static final String OA_FLOW_33_CHANGE_PARAM_TITLE = "33.国联证券_资管产品参数调整需求流程";
    
    public static final String OA_FLOW_33_CHANGE_PARAM_WFID = "OA_FLOW_33_CHANGE_PARAM_WFID";
    public static final String BUSINESS_TYPE_NEW_PRODUCT = "3";
    public static final String BUSINESS_TYPE_MODIFY_REDEMPTION = "1";

    public static final String OA_FLOW_33_CHANGE_PARAM_CHANGESETTLEMENT = "1";
    public static final String OA_FLOW_33_CHANGE_PARAM_MODIFYRESERVATIONREDEMPTION = "2";
    public static final String OA_FLOW_33_CHANGE_PARAM_MODIFYSUBSCRIPTIONLIMIT = "3";
    public static Map<String, String> OA_FLOW_33_CHANGE_PARAM_BIZ_TYPE_MAP = new HashMap<>();

    static {
        OA_FLOW_33_CHANGE_PARAM_BIZ_TYPE_MAP.put("10", "0");//10-> 申购和赎回 ; 0 ->开放期（可申购赎回）
        OA_FLOW_33_CHANGE_PARAM_BIZ_TYPE_MAP.put("20", "二次确认");//20-> 申购 ; 0 ->仅能申购不能赎回
        OA_FLOW_33_CHANGE_PARAM_BIZ_TYPE_MAP.put("30", "首次确认");//30-> 赎回 ; 0 ->仅能赎回不能申购
    }



    public static Map<Long, String> FLOW_DETAIL_OA_NODE_TYPE = new HashMap<>();

    static {
        FLOW_DETAIL_OA_NODE_TYPE.put(0L, "StartEvent");
        FLOW_DETAIL_OA_NODE_TYPE.put(1L, "UserTask");
        FLOW_DETAIL_OA_NODE_TYPE.put(3L, "EndEvent");
    }

    public static final String PRIMARY_NODE = "primary";
    public static final String SECOND_NODE = "second";
}
